package zhihuilan.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import zhihuilan.dto.MyCircleDto;
import zhihuilan.dto.WxMiniPageDto;
import zhihuilan.entity.MyCircle;
import zhihuilan.params.query.MyAcquisitionQueryParam;
import zhihuilan.params.query.MyCircleQueryParam;
import zhihuilan.params.save.MyCircleSaveParam;

import java.util.List;

/**
 * 用户管理 服务层
 * 
 * @author chenk
 * @Date 2025年2月19日 12:39:03
 */
public interface MyCircleService
{
    /**
     * 查询配置表；
     *
     * @return 用户信息集合
     */
    Page<MyCircle> selectPageList(MyCircleQueryParam queryParam);


    /** 按条件查询数量
     * @param queryParam 查询条件参数
     * @param dataType 查询的数据类型器：1，视频，2，推线（广告信息）*/
    Long selectCount(MyCircleQueryParam queryParam);

    /**
     * 根据主键获取线缆圈详情；
     * */
    MyCircle selectById(Integer id);

    MyCircle selectOne(Integer staffId);

    MyCircle selectOneByStaffId(Integer staffId);
    /**
     * 新增线缆圈信息；
     * */
    MyCircle addEntity(MyCircle saveEntity);

    /**
     * 新增线缆圈信息并写入查询表；
     * */
    MyCircle addEntityAndSearch(MyCircle saveEntity);

    /**
     * 更新线缆圈信息；
     * */
    MyCircle updateEntity(MyCircle saveEntity);

    Boolean addShareCount(Integer id);

    /**
     * 更新线缆圈信息；并更新查询表；
     * */
    MyCircle updateEntityAndSearch(MyCircle saveEntity);

    /**
     * 根据ID删除线缆圈信息；
     * */
    Boolean deleteById(Integer id);

    /**
     * 根据ID删除线缆圈信息；并更新查询表；
     * */
    Boolean deleteByIdAndSearch(Integer id);

    Long getTodaySendCount(MyCircleQueryParam queryParam);


    WxMiniPageDto<MyCircleDto> selectStaffToCirclePageList(MyCircleQueryParam queryParam);

}
